package com.sailors.common.task.provider.domian.service;

import com.sailors.common.task.provider.faced.model.dto.execute.FileTaskCreateExecuteDto;
import com.sailors.common.task.provider.faced.model.dto.execute.FileTaskFailedExecuteDto;
import com.sailors.common.task.provider.faced.model.dto.execute.RefreshProcessExecuteDto;

/**
 * File task service
 *
 * @description: 文件任务领域服务
 * @author: cyj
 * @date 2022 -11-23 11:35:28
 */
public interface IFileTaskService {
    /**
     * Create long
     *
     * @param fileTaskCreateExecuteDto file task create execute dto
     * @return the long
     */
    Long create(FileTaskCreateExecuteDto fileTaskCreateExecuteDto);

    /**
     * Refresh process *
     *
     * @param refreshProcessExecuteDto refresh process execute dto
     */
    void refreshProcess(RefreshProcessExecuteDto refreshProcessExecuteDto);

    /**
     * Failed *
     *
     * @param fileTaskFailedExecuteDto file task failed execute dto
     */
    void failed(FileTaskFailedExecuteDto fileTaskFailedExecuteDto);

    /**
     * Delayed failed *
     *
     * @param taskId task id
     */
    void delayedFailed(Long taskId);
}
